#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include "database.hpp"
#include <QMainWindow>
#include <QPushButton>
#include <QSequentialAnimationGroup>
#include <QTreeWidget>

QT_BEGIN_NAMESPACE
namespace Ui
{
    class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    bool AddInfo(int type);
    void exportTitle(bool week);
    void tabTaskInit();
    void tabDemandInit();
    void treeAddChid22(QTreeWidgetItem *top, int topid);
    bool dp_delete(bool all);
    QTreeWidgetItem *addTreeItem(QTreeWidgetItem *top, data_t &data);

public slots:
    void onUpperTreeItemDoubleClicked(QTreeWidgetItem *item, int column);
    void onLowerTreeItemDoubleClicked(QTreeWidgetItem *backitem, int column);
private slots:
    void on_actionProject_triggered();

    void on_actioneEpic_triggered();

    void on_actionFeature_triggered();

    void on_actionStory_triggered();

    void on_actionTask_triggered();

    void on_actionBug_triggered();

    void on_tableWidgetTask_cellDoubleClicked(int row, int column);

    void on_comboBox_dpProName_currentIndexChanged(const QString &arg1);

    void on_pushButton_exp7day_clicked();

    void on_pushButton_expWeek_clicked();

    void on_pushButton_add_clicked();

    void on_checkBox_dpMore_clicked(bool checked);

    void on_pushButton_dpDeleteProject_clicked();

    void on_pushButton_dpDeleteChecked_clicked();

    void on_checkBox_dpShowTask_stateChanged(int arg1);

    void on_treeWidgetFrozen_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);

    void on_pushButton_dpExpandAll_clicked();

    void on_pushButton_dpUpExpandAll_clicked();

    void on_checkBox_dpShowTime_stateChanged(int arg1);

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
